using System;
using System.ComponentModel;

namespace SBPweb.Contracts
{
	/// <summary>
	/// Interface of IValidable
	/// </summary>
	public interface IValidable
    {
		/// <summary>
		/// Validate
		/// </summary>
		/// <returns>success</returns>
        bool Validate();
		/// <summary>
		/// Event for validation start
		/// </summary>
        event CancelEventHandler Validating;
		/// <summary>
		/// Event for validation end
		/// </summary>
        event EventHandler Validated;

		/// <summary>
		/// Is valid?
		/// </summary>
        bool IsValid
        {
            get;
        }
    }
}
